package cn.sirun.com.fca.account.view;

import com.tencent.cloud.iov.action.Action;
import com.tencent.cloud.iov.kernel.model.BaseResponse;

import cn.sirun.com.fca.account.constant.AccountActionConst;
import cn.sirun.com.fca.account.model.base.CarInfoDetailResponse;
import cn.sirun.com.fca.account.model.login.AuthenticateResponse;
import cn.sirun.com.fca.account.model.login.ChallengeResponse;
import cn.sirun.com.fca.account.model.login.LoginResponse;
import cn.sirun.com.fca.account.model.login.PersonalInfo;
import cn.sirun.com.fca.account.model.login.VehicleRespons;

public interface ILoginView extends AccountActionConst.Normal {

    @Action(ACTION_LOGIN_CHALLENGE_RESPONSE)
    void onChallengeResult(BaseResponse<ChallengeResponse> response);

    @Action(ACTION_PASSWODR_LOGIN_RESULT)
    void passwordLogin(BaseResponse<LoginResponse> response);

    @Action(ACTION_LOGIN_AUTHENTICATE_RESPONSE)
    void onAuthenticateResult(BaseResponse<AuthenticateResponse> response);

    @Action(ACTION_GET_VEHICLE_RESULT)
    void getVehicle(BaseResponse<VehicleRespons> response);

    @Action(ACTION_GET_PERSONAL_INFO_RESPONSE)
    void onPersonalInfoResult(BaseResponse<PersonalInfo> response);

    @Action(ACTION_GET_CAR_INFO_RESPONSE)
    void onCarInfoResult(BaseResponse<CarInfoDetailResponse> response);
}
